package com.xunfang.controller;

import com.xunfang.bean.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author yellow Docter
 * @date 2023 -10-11
 * @desc
 *
 *   返回数据给前端
 *   可以把 对象 或者map 转成 json 给前端 返回
 *   @Controller  如果返回的内容会去找视图 （页面）
 *   @ResponseBody  把 方法中的数据转成json字符串返回给前端
 *      如果每个方法上面都有   @ResponseBody 注解、可以把这个注解提升到 类上面‘
 *
 *   如果类上面有 @Controller + @ResponseBody 可以简写成 @RestController
 *
 */
//@Controller
//@ResponseBody
@RestController
public class Demo01Controller {

    @RequestMapping("/req01")
    public Map<String,Object> handler01(){

        //需要把对象转成json 字符串
        // new User("zs",20) ===> {"name":"zs","age":20}
        Map<String,Object> map = new HashMap<>();
        map.put("code",10000);
        map.put("msg","请求成功...");
        return map;

    }

    @RequestMapping("/req02")
    public User handler02(){
        User user = new User(); //alt + 回车
        user.setUsername("王语嫣");
        user.setAge(40);

        return user;
    }

    @RequestMapping("/req03")
    public List<User> handler03(){

        User user = new User(); //alt + 回车
        user.setUsername("王语嫣");
        user.setAge(40);

        User user2 = new User(); //alt + 回车
        user2.setUsername("阿朱");
        user2.setAge(40);

        User user3 = new User(); //alt + 回车
        user3.setUsername("阿紫");
        user3.setAge(30);

        List<User> users = Arrays.asList(user, user2, user3);
        return users;
    }


}
